Hash structures are used in computer systems to map identifying values, or keys, to their associated values. A hash function is used to transform the key into the index of an array element where the associated value is stored. When items in the hash structure are removed or deleted, the hash structure undergoes a rehash whereby existing items in the hash structure are mapped to new locations. Hash structures can be used in cloud-based networks whereby key-to-value mappings are stored in resources associated with the cloud-based network.
“Consistent hashing” can be implemented such that the addition or removal of one slot does not significantly change the mapping of keys to locations. In particular, consistent hashing involves associating a real angle to items to effectively map the item to, for example, a point on the edge of a circle. In addition, available machines or servers are mapped to locations around the circle. The machine or server on which the item is to be stored is chosen by selecting the machine at the next highest angle along the circle after the item. If a storage location on the machine becomes unavailable, then the angles mapping to the location are removed and requests for files that would have mapped to the unavailable location are now mapped to the next available storage location.
However, consistent hashing can be problematic in situations in which a user or computer program requests to access a file that has been moved, renamed, or deleted without the user or computer program having the necessary data to determine the change. As such, finding and accessing the file can take more time and can lead to system hardware or software problems, faults, or other errors. Further, hashing in cloud-based networks can be problematic when multiple entities have access to move, rename, or delete files stored on devices of the cloud-based network.
Therefore, it may be desirable to provide systems and methods for monitoring files in cloud-based networks. In particular, it may be desirable to ensure the accuracy of a file location mapped to a hash structure in a cloud-based network before retrieving the file.